Multi-Form Bundle Feature
Form bundling allows the creation and combination of multiple forms into a bundled application package. This feature is ideal for consolidating various forms and streamlining their submission process.
By utilizing this feature, you can generate different forms with unique schemas, each serving a specific purpose. These forms can be combined into a bundled package, acting as a unified interface for users to interact with and submit multiple forms seamlessly. The bundle can be associated with a workflow to handle post-submission steps.
A powerful rule engine is integrated into the bundle, enabling designers to configure rules that control form visibility based on submitted data. For example, selecting an option in one form can trigger the display or hiding of related forms within the bundle.
This flexibility is valuable for complex scenarios, such as consolidating a general form with multiple specialized forms for different request types. Users can fill out and submit all necessary forms efficiently within a single package, reducing complexity and improving the user experience.
Steps to Create a Bundle
-
Create forms and enable the bundle option to add them to a bundle. Individual forms do not need to be published to be included.
-
Select the Create Bundle option under Forms > Form Bundle.
-
Name the bundle, add a description, and select forms to include.
-
Change the order of forms in the bundle by dragging them.
-
Add conditions to control form display in the bundle. Specify criteria and select the form to apply them to.
Note: Read more about criteria here.
-
Save the bundle.
-
Attach a workflow to the bundle and publish.
Designing Forms for Bundles
Things to Keep in Mind
-
If a form is included in a bundle, the Reviewer/Approver action button logic should not directly update to Formio. Instead, emit a
customEvent
.form.emit('customEvent', {
type: "actionComplete",
component: component,
actionType: data.managerActionType
}); -
But in the case of the form used in the form connector, it can directly update formio.
How to Use CombineSubmissionBundleListener
-
Configure FormConnectorListener for a task. This listener sets bundleUrl as the execution variable.
-
Configure the CombineSubmissionBundleListener to merge data from bundleUrl and formUrl, generating a new submission for the associated bundle. The URL of the new submission is assigned to formUrl.